package cn.fl.quato.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.quato.dto.QuatoChangeHistoryDTO;
import cn.fl.quato.dto.QuatoPrjTypChangeHistoryDTO;
import cn.fl.quato.vo.QuatoChangeHistoryVO;
import cn.fl.quato.vo.QuatoPrjTypChangeHistoryVO;

/**
 * @Description: 项目类型变更记录表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class QuatoPrjTypChangeHistoryVOTransform {


	/**
	 * DTO 转  VO
	 * @param dto QuatoPrjTypChangeHistoryDTO
	 * @return QuatoPrjTypChangeHistoryVO
	 */
	public static QuatoPrjTypChangeHistoryVO toVO(QuatoPrjTypChangeHistoryDTO dto) {
		QuatoPrjTypChangeHistoryVO  vo = null;
		if (dto != null) { 
			vo = new QuatoPrjTypChangeHistoryVO();
			vo.setId(dto.getId());
			vo.setQuatoId(dto.getQuatoId());//QUATO_ID
			vo.setRemark(dto.getRemark());//备注
			vo.setBeforeTypCdNames(dto.getBeforeTypCdNames());//修改前项目类型
			vo.setAfterTypCdNames(dto.getAfterTypCdNames());//修改后项目类型
			vo.setAfterTypCds(dto.getAfterTypCds());//修改后项目类型
			vo.setBeforeBuOrgCdNames(dto.getBeforeBuOrgCdNames());//修改前事业部
			vo.setAfterBuOrgCdNames(dto.getAfterBuOrgCdNames());//修改后事业部
			vo.setAfterBuOrgCds(dto.getAfterBuOrgCds());//修改后事业部
			vo.setIsValid(dto.getIsValid());//是否有效;0:无效;1:有效
			vo.setIsDel(dto.getIsDel());//是否删除;0:未删除;1:已删除
			vo.setCreateTime(dto.getCreateTime());//创建时间
			vo.setUpdateTime(dto.getUpdateTime());//修改时间
			vo.setCrtUsrName(dto.getCrtUsrName());

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo QuatoPrjTypChangeHistoryVO
	 * @return QuatoPrjTypChangeHistoryDTO
	 */
	public static QuatoPrjTypChangeHistoryDTO toDTO(QuatoPrjTypChangeHistoryVO vo) {
		QuatoPrjTypChangeHistoryDTO dto = null;
		if (vo != null) {
			dto = new QuatoPrjTypChangeHistoryDTO();
			dto.setId(vo.getId());
			dto.setQuatoId(vo.getQuatoId());//QUATO_ID
			dto.setRemark(vo.getRemark());//备注
			dto.setBeforeTypCdNames(vo.getBeforeTypCdNames());//修改前项目类型
			dto.setAfterTypCdNames(vo.getAfterTypCdNames());//修改后项目类型
			dto.setAfterTypCds(vo.getAfterTypCds());//修改后项目类型
			dto.setBeforeBuOrgCdNames(vo.getBeforeBuOrgCdNames());//修改前事业部
			dto.setAfterBuOrgCdNames(vo.getAfterBuOrgCdNames());//修改后事业部
			dto.setAfterBuOrgCds(vo.getAfterBuOrgCds());//修改后事业部
			dto.setIsValid(vo.getIsValid());//是否有效;0:无效;1:有效
			dto.setIsDel(vo.getIsDel());//是否删除;0:未删除;1:已删除
			dto.setCreateTime(vo.getCreateTime());//创建时间
			dto.setUpdateTime(vo.getUpdateTime());//修改时间
			dto.setCrtUsrName(vo.getCrtUsrName());

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}

	/**
	 * DTO集合 转 VO集合
	 * @param list<QuatoPrjTypChangeHistoryDTO>
	 * @return List<QuatoPrjTypChangeHistoryVO>
	 */
	public static List<QuatoPrjTypChangeHistoryVO> toVOList(List<QuatoPrjTypChangeHistoryDTO> list) {
		List<QuatoPrjTypChangeHistoryVO>  voList = new ArrayList<QuatoPrjTypChangeHistoryVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (QuatoPrjTypChangeHistoryDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}

	/**
	 * VO集合 转 DTO集合
	 * @param list List<QuatoPrjTypChangeHistoryVO>
	 * @return List<QuatoPrjTypChangeHistoryDTO>
	 */
	public static List<QuatoPrjTypChangeHistoryDTO> toDTOList(List<QuatoPrjTypChangeHistoryVO> list) {
		List<QuatoPrjTypChangeHistoryDTO>  dtoList = new ArrayList<QuatoPrjTypChangeHistoryDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (QuatoPrjTypChangeHistoryVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
